package com.yc.star.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 标签
 * </p>
 *
 * @author ljl
 * @since 2024-07-15
 */
@TableName("s_tag")
@Data
public class Tag implements Serializable {

    private static final long serialVersionUID = 1L;

      /**
     * id
     */
        @TableId(value = "id", type = IdType.AUTO)
      private Long id;

      /**
     * 标签名称
     */
      private String tagname;

      /**
     * 用户 id
     */
      private Long userid;

      /**
     * 父标签 id
     */
      private Long parentid;

      /**
     * 0 - 不是, 1 - 父标签
     */
      private Byte isparent;

      /**
     * 创建时间
     */
      private LocalDateTime createTime;

    private LocalDateTime updateTime;

      /**
     * 是否删除
     */
      @TableLogic
      private Byte isdelete;

    /**
     * 子标签列表
     */
    @TableField(exist = false)
    private List<Tag> tags;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTagname() {
        return tagname;
    }

    public void setTagname(String tagname) {
        this.tagname = tagname;
    }

    public Long getUserid() {
        return userid;
    }

    public void setUserid(Long userid) {
        this.userid = userid;
    }

    public Long getParentid() {
        return parentid;
    }

    public void setParentid(Long parentid) {
        this.parentid = parentid;
    }

    public Byte getIsparent() {
        return isparent;
    }

    public void setIsparent(Byte isparent) {
        this.isparent = isparent;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Byte getIsdelete() {
        return isdelete;
    }

    public void setIsdelete(Byte isdelete) {
        this.isdelete = isdelete;
    }

    @Override
    public String toString() {
        return "Tag{" +
                "id=" + id +
                ", tagname='" + tagname + '\'' +
                ", userid=" + userid +
                ", parentid=" + parentid +
                ", isparent=" + isparent +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", isdelete=" + isdelete +
                ", tags=" + tags +
                '}';
    }
}
